package com.ohc.leetcode.数组;

/**
 * 2022年5月11日19:28:30
 */
public class 下一个更大元素I496 {
    // 4, 1, 2
    // 1, 3, 4, 2
    public static int[] nextGreaterElement(int[] nums1, int[] nums2) {
        int[] arr = new int[nums1.length];
        for (int i = 0; i < nums1.length; i++) {
            for (int j = 0; j < nums2.length; j++) {
                if (nums1[i] == nums2[j]) {  // 找到相等的，接下来找第一个大的元素
                    int n = -1;
                    for (int k = j; k < nums2.length; k++) { // 就开始循坏找到第一个大的元素
                        if (nums2[k] > nums1[i]) {  // 找到了，保存下标 n
                            n = k;
                            break;  // 找到了第一个大的元素就跳出循坏
                        }
                    }
                    if (n != -1) {
                        if (nums2[n] > nums1[i]) { // 找到了，就保存
                            arr[i] = nums2[n];
                        } else {
                            arr[i] = -1;
                        }
                        n = -1;  // 初始化
                    } else {
                        arr[i] = -1;
                    }
                    break;
                }
            }
        }
        return arr;
    }

    public static void main(String[] args) {
        int[] arr1 = {4, 1, 2};
        int[] arr2 = {1, 3, 4, 2};
        int[] ints = nextGreaterElement(arr1, arr2);
        for (int anInt : ints) {
            System.out.println("anInt = " + anInt);
        }
    }
}
